new function() {
  
  this.patterns = [
    { regex: Quode.JSH.util.regex.xmlComment,css: "comment" },
    { regex: Quode.JSH.util.regex.xmlCDATA, css: "cdata" },
    { regex: Quode.JSH.util.regex.xmlDoctype,css: "doctype" },
    { regex: new RegExp("<\\?(?:php|=)\\s+"), 
      embed: "php", 
      until: new RegExp("\\?>"), 
      nested: true,
      css: "tag"
    },
    { regex: Quode.JSH.util.regex.xmlPI, css: "pi" },
    { regex: Quode.JSH.util.regex.xmlEntity, css: "entity" },
    { regex: new RegExp("<"),
      embed: {
        patterns: [
          { regex: new RegExp("/"), css: "tag", capture: "closed" },
          { regex: new RegExp("[\\w-]+:"), css: "prefix" },
          { regex: new RegExp("[\\w-]+(?=\\s*=)(?:[^'\"/>]+)?"), css: "attribute" },
          { regex: new RegExp("[\\w-]+"), css: "tag-name", capture: "tagn" },
          { regex: new RegExp("([\"'])(?:.|\\r?\\n)*?\\1"), css: "attribute-value" }
        ]
      },
      until: new RegExp(">"),
      css: "tag",
      captured: [
        { test: { "closed": false, "tagn": new RegExp("^script$","i") },
          embed: "js",
          until: new RegExp("</script>", "i"),
          included: false,
          css: "js"
        },
        { test: { "closed": false, "tagn": new RegExp("^style$","i") },
          embed: "css",
          until: new RegExp("</style>", "i"),
          included: false,
          css: "css"
        }
      ]
    }
  ];
  
  Quode.JSH.language.register(this, ["html", "xhtml", "phtml"], "xml");
};

